import {
  IsNumber,
  IsArray,
  IsObject,
  IsBoolean,
  IsString,
} from 'class-validator';

// 系统统计信息DTO
export class SystemStatsDto {
  @IsNumber()
  totalUsers: number;

  @IsNumber()
  totalSongs: number;

  @IsNumber()
  totalAlbums: number;

  @IsNumber()
  totalPlaylists: number;

  @IsArray()
  recentActivities: any[];
}

// 推荐歌单DTO
export class AdminRecommendedPlaylistDto {
  @IsNumber()
  id: number;

  @IsString()
  name: string;

  @IsString()
  description?: string;

  @IsString()
  coverImageUrl?: string;

  @IsObject()
  createdBy: { id: number; username: string };

  @IsNumber()
  songCount: number;

  @IsNumber()
  likes: number;

  @IsBoolean()
  isPublic: boolean;

  @IsBoolean()
  isOfficial: boolean;

  @IsNumber()
  recommendLevel: number;

  @IsObject()
  createdAt: Date;

  @IsObject()
  updatedAt: Date;
}
